


Integer.metaClass.constructor = {
    int val ->
        println "Intercepting constructor call"
        constructor = Integer.class.getConstructor(Integer.TYPE)
        constructor.newInstance(val)

}

    println new Integer(4)
    println new Integer(Calendar.instance)


